1. Field of the Invention
The present invention relates generally to a state controlled device driver for improving the performance of a real time computer system operated by a nonmultitasking operating system and controlling the operation of polled peripheral devices which do not have an interrupt generation capability.
More particularly, the subject invention concerns a software approach for a device driver for improving the performance of a computer system which controls in real time the operation of polled peripheral devices such as printers, disc drives, tape drives, bus controllers, polling loops, etc. which do not have an interrupt capability. Pursuant to the present invention, the device driver releases control back to the operating system before completion of the task of a peripheral device when the device is not immediately ready and able to complete that task.
2. Discussion of the Prior Art
In a typical prior art device driver operated by a nonmultitasking operating system, the operating system relinquishes control to a device driver, after which a pre-transmit setup is executed and the readiness of the peripheral device to perform its task is checked. The driver then waits until the device is ready to perform its task, and a transmission of data then normally takes place. This is repeated until the task is completed, at which a `done` condition is satisfied, after which a post-transmit setup is executed, and control is returned back to the operating system. In such a typical prior art device driver, control is relinquished to the device driver, and if the device is not ready or able to perform its task, then the operating system must stand idly by and wait until the device becomes ready and as the device driver completes its task. Control is then relinquished back to the operating system, at which time the operating system can assume other assigned tasks such as controlling the operation of other peripheral devices. This type of prior art computer system is particularly disadvantageous with slow peripheral devices, such as tape drives, printers, disk drives, communication busses, and instrument drivers in industrial control systems.